﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LM.InterfacesFabricas.DTOs;

namespace LM.InterfacesFabricas.Interfaces.Servicos
{
    /// <summary>
    /// Rafael.
    /// Interface para a Produção de Relátorios.
    /// </summary>
    public interface IServicoDeRelatorios
    {
        /// <summary>
        /// Imprime em pdf o relátoria de um determinado Periodo.
        /// </summary>
        /// <param name="dataInicial">Data Inicial para o Relatório</param>
        /// <param name="dataFinal">Data Final para o Relatório</param>
        void ImprimeRelatorioPorPeriodo(DateTime dataInicial, DateTime dataFinal);

        /// <summary>
        /// Imprime em pdf o Relatório de um determinado Cliente.
        /// </summary>
        /// <param name="cliente">Cliente a ser detalhado as locações</param>
        void ImprimeRelatorioPorCliente(DtoCliente cliente);

        /// <summary>
        /// Imprime em pdf o Relatório de uma lista de locacoes.
        /// </summary>
        /// <param name="locacoes">Lista locações</param>
        void ImprimeRelatorioDeLocacoes(IList<DtoLocacao> locacoes);
    }
}
